Skip to content

Parse NC_RTXPRO6000BSE_v6 GPU VM sizes#34

Merged
MaximilianoUribe merged 1 commit into
Azure:mainfrom
MaximilianoUribe:muribefalcon/rtxpro6000bse-vmsize-parsing
Jun 15, 2026
Merged

Parse NC_RTXPRO6000BSE_v6 GPU VM sizes#34
MaximilianoUribe merged 1 commit into
Azure:mainfrom
MaximilianoUribe:muribefalcon/rtxpro6000bse-vmsize-parsing

Conversation

@MaximilianoUribe

@MaximilianoUribe MaximilianoUribe commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

What

Parse the NC RTX PRO 6000 BSE v6 GPU VM sizes, e.g. Standard_NC288ds_xl_RTXPRO6000BSE_v6.

Today these fail with could not parse VM size ... because the size scheme does not handle two new elements in the name:

  1. the xl_ size descriptor that precedes the accelerator, and
  2. an accelerator name with trailing letters (RTXPRO6000BSE), while the accelerator group only matched <letters><digits> ([A-Z]+[0-9]+).

These sizes are public and documented: https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/nc-rtxpro6000-bse-v6-series

Change

Extend the accelerator capture group:

(?:([A-Z]+[0-9]+)_?)?   ->   (?:(xl_[A-Z]+[0-9]+[A-Z]*|[A-Z]+[0-9]+)_?)?
  • The trailing-letters form is gated behind the literal xl_ so existing accelerators (MI300X, H100, A100, T4, …) keep matching their original/dedicated groups and their series flags (MI300Series, H100Series) are unchanged. (An ungated [A-Z]* would have swallowed MI300X into the accelerator group and flipped MI300Series.)
  • The xl_ descriptor is stripped so AcceleratorType reflects the accelerator name only (RTXPRO6000BSE).

Applied to both the root module and v2/.

Tests

  • Added Test_GetVMSize cases for the ds and lds variants (NC288ds_xl_RTXPRO6000BSE_v6, NC24lds_xl_RTXPRO6000BSE_v6).
  • TestParseVMSize over the generated real-SKU corpus passes with 0 failures (no regressions), in both modules.
  • gofmt, go test ./... green for root and v2.

Note

The xl token is not yet listed in the VM sizes naming conventions doc; the series page above is the current public reference.

The NC RTX PRO 6000 BSE v6 GPU sizes use a new naming shape that the size
parser could not match, e.g. NC288ds_xl_RTXPRO6000BSE_v6, causing
'could not parse VM size' errors. Two elements were unsupported:

- the 'xl_' size descriptor that precedes the accelerator, and
- an accelerator name with trailing letters (RTXPRO6000BSE), while the
  accelerator group only matched <letters><digits>.

Extend the accelerator group to '(xl_[A-Z]+[0-9]+[A-Z]*|[A-Z]+[0-9]+)'.
The trailing-letters form is gated behind the literal 'xl_' so existing
accelerators (e.g. MI300X, H100) keep hitting their dedicated groups and
their series flags are unchanged. The 'xl_' descriptor is stripped so
AcceleratorType reflects the accelerator name only (RTXPRO6000BSE).

Applied to both the root and v2 modules, with tests for the ds and lds
variants. The full real-SKU corpus (TestParseVMSize) still passes with no
regressions.

@matthchr matthchr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but let's maybe get @jackfrancis to take a look too?

@jackfrancis jackfrancis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@MaximilianoUribe MaximilianoUribe merged commit ca0b526 into Azure:main Jun 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants